package com.ruoyi.system.service;

import java.io.IOException;
import java.util.List;
import java.util.Map;

import com.ruoyi.system.domain.TbUpeModel;
import com.ruoyi.system.domain.TbUpeModelver;
import org.jdom2.JDOMException;
import org.springframework.web.multipart.MultipartFile;
import org.xml.sax.SAXException;

import javax.xml.parsers.ParserConfigurationException;

/**
 * 流程模型版本Service接口
 * 
 * @author gxt
 * @date 2024-08-23
 */
public interface ITbUpeModelverService 
{
    /**
     * 查询流程模型版本
     * 
     * @param wfid 流程模型版本主键
     * @return 流程模型版本
     */
    public TbUpeModelver selectTbUpeModelverByWfid(String wfid);

    /**
     * 查询流程模型版本列表
     * 
     * @param tbUpeModelver 流程模型版本
     * @return 流程模型版本集合
     */
    public List<TbUpeModelver> selectTbUpeModelverList(TbUpeModelver tbUpeModelver);

    /**
     * 新增流程模型版本
     * 
     * @param tbUpeModelver 流程模型版本
     * @return 结果
     */
    public int insertTbUpeModelver(TbUpeModelver tbUpeModelver);

    /**
     * 修改流程模型版本
     * 
     * @param tbUpeModelver 流程模型版本
     * @return 结果
     */
    public int updateTbUpeModelver(TbUpeModelver tbUpeModelver);

    /**
     * 批量删除流程模型版本
     * 
     * @param wfids 需要删除的流程模型版本主键集合
     * @return 结果
     */
    public int deleteTbUpeModelverByWfids(String[] wfids);

    /**
     * 删除流程模型版本信息
     * 
     * @param wfid 流程模型版本主键
     * @return 结果
     */
    public int deleteTbUpeModelverByWfid(String wfid);

    public TbUpeModel parseXml(MultipartFile file) throws IOException, SAXException, ParserConfigurationException, JDOMException;

    /**
     * 预览代码
     *
     * @param wfid 流程id
     * @return 预览数据列表
     */
    public Map<String, String> previewCode(String wfid);
}
